/**
 * 
 */
package com.desksoft.ecommerce.service.interf.logistics;

import java.util.List;
import java.util.Map;

import com.desksoft.ecommerce.util.result.ServiceResult;
import com.desksoft.ecommerce.vo.logistics.CategoryVO;
import com.desksoft.ecommerce.vo.logistics.CatgQryVO;
import com.desksoft.utility.pagination.Page;
import com.desksoft.utility.service.ServiceInterface;

/***************************************
 * <pre>
 * 版权所有：杭州迪科软件 保留所有权利
 * 创建日期: Aug 1, 2011 12:41:14 PM
 * 创建作者：yejw
 * 文件名称：ICategoryService.java
 * 版本：
 * 功能：
 * 最后修改时间：Aug 1, 2011 12:41:14 PM
 * 修改记录：
 * </pre>
 *****************************************/

public interface ICategoryService extends ServiceInterface {
	
	/**
	 * 根据分类编码或/和分类名称取分类信息列表
	 * 
	 * @param catgQryVO
	 *    vo属性  userid   用户编码
	 *    vo属性  name     分类名称   模糊查询
	 *    vo属性  code     分类编码   模糊查询
	 *    
	 *            分类查询值对象
	 * @return
	 */
	public ServiceResult<Page<CategoryVO>> getCategories(CatgQryVO catgQryVO);
	
	/**
	 * 根据分类编码或/和分类名称取分类信息列表
	 * 
	 * @param catgQryVO
	 *    vo属性  userid   用户编码
	 *    vo属性  name     分类名称   模糊查询
	 *    vo属性  code     分类编码   模糊查询
	 *    
	 *            分类查询值对象
	 * @return
	 */
	public ServiceResult<Page<CategoryVO>> getCategory(CatgQryVO catgQryVO);
	/**
	 * 获取所有分类信息列表
	 * @param	catgQryVO		分类信息查询值对象, 继承自QueryVO
	 * vo属性name:    根据分类名称
	 * vo属性code:    根据分类编码
	 */
	public ServiceResult<List<CategoryVO>> getAllCategory(CatgQryVO catgQryVO);
	
	 /**
	 * @param deptVO
     * 获取部组信息
     * vo属性userid     用户编码
	 * vo属性deptcode    物流中心编码
	 * vo属性dccode       部门编码
	 * vo属性storecode    门店编码
     * @return
     * 部门信息
     */

	/**
	 * @author LiuWenLong
	 * @version 2012-12-25 下午5:52:50
	 * @description TODO
	 * @param code
	 * @return
	 */
	public ServiceResult<List<com.desksoft.ecommerce.vo.mall.CategoryVO>> selectCascadeCategoryByCode(String code);

	/**
	 * @author LiuWenLong
	 * @version 2012-12-25 下午5:57:01
	 * @description TODO
	 * @param code
	 * @return
	 */
	public ServiceResult<com.desksoft.ecommerce.vo.mall.CategoryVO> selectCategoryByCode(String code);
	
	/**
	 * @author wgl
	 * @version 2013-4-24
	 * @description TODO
	 * @param code
	 * @return
	 */
	public ServiceResult<List<CategoryVO>> selectCategoryD(CategoryVO categoryVO);
	
	/**
	 * 查询所有的分类信息
	 * @return
	 */
	public ServiceResult<Map<String, Map<String, List<CategoryVO>>>> selectAllCategory( CatgQryVO categoQryVO );
	
}
